package lib.view;

import lib.controller.Controller;
import android.app.Activity;
import android.content.ContentValues;
import android.content.Intent;
import android.widget.Toast;

/**
 * Abstract class to use for a simple Activity, without helper.
 * Classe abstrata para utilizar como um Activity simples, sem um helper.
 * @author atila
 *
 */
public abstract class SimpleActivity extends Activity implements Controller, View {

	/**
	 * populate the elements in the ContentValue object.
	 * popula os elementos no objeto ContentValues.
	 * @param values
	 */
	public abstract void populate(ContentValues values);
	
	/**
	 * show a message on the screen.
	 * mostra uma mensagem na tela.
	 * @param message
	 */
	public void show(String message) {
		Toast.makeText(this, message, Toast.LENGTH_LONG).show();
	}
	
	public void go(Class<?> clazz) {
		go(clazz, null, null);
	}
	
	/**
	 * goes from an Activity to another.
	 * vai de um Activity para outro.
	 * @param clazz
	 * @param namespace
	 * @param id
	 */
	public void go(Class<?> clazz, String namespace, String id) {
		Intent intent = new Intent(this, clazz);
		if (id != null) {
			intent.putExtra(namespace, id);
		}
		startActivity(intent);
	}
}
